package main

import (
	"fmt"
)

type Ainterface interface{
	Say()
}

type Binterface interface{
	Hello()
}

//结构体实现多个接口
type Monster struct{
	Name string 
}
func (m Monster)Say(){
	fmt.Println("Monster 结构体实现Ainterface 的Say方法")
}
func (m Monster)Hello(){
	fmt.Println("Monster 结构体实现Binterace 的Hello方法",m.Name)
}
type stu struct{
	Name string
}
//stu结构体实现 Ainterface接口
func (s stu)Say(){
	fmt.Println("stu say func")
}

type integer int 

func (i integer)Say(){
	fmt.Println("基本类型实现 integer Ainterface 接口say方法 i",i)
}
func main(){

	//stu结构体实现接口
	var stu stu 
	var a Ainterface = stu

	fmt.Println(a)

	
	stu.Say()

	//基本数据类型实现接口
	var m integer = 10
	m.Say()

	fmt.Println("*******************")

	var mx Monster
	mx.Name="china"
	var a1 Ainterface = mx 
	var b2 Binterface = mx 

	a1.Say()
	b2.Hello()


}